'use strict';
var domain        = require('domain');
var express       = require('express');
var path          = require('path');
var cookieParser  = require('cookie-parser');
var bodyParser    = require('body-parser');
var cloud         = require('./cloud');// 云函数
var app           = express();
var routes        = require('./routes.js'); // 加载路由
var AV            = require('leanengine');

app.enable('trust proxy');

app.set('views', path.join(__dirname, '../views'));// 设置 view 引擎
app.set('view engine', 'ejs');

app.use(express.static('public'));
app.use(cloud);// 加载云代码方法
app.use(AV.Cloud);// 使用 LeanEngine 中间件如果没有加载云代码方法请使用此方法，否则会导致部署失败，详细请阅读 LeanEngine 文档。）
app.use(AV.Cloud.CookieSession({ secret: 'my secret', maxAge: 3600000, fetchUser: true }));// 加载 cookieSession 以支持 AV.User 的会话状态
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(routes);

module.exports = app;
